BGP unnumberd
ipv6のlink local addressをnexthopにipv4 NLRIを転送する。
隣接ノードのipv6 link local addressとmac addressはIPv6 RAで告知
一般的にはこれだけではなく対向のbgp peerを動的にdiscoverする仕組みとセットで語られる。
RFC5549
RFC5549自体はipv6 nexthopを利用してipv4経路を交換する仕組みしか提案していない
しばしば勘違いされれるが自動でbgp peerをdiscoverする仕組み自体はRFC5549とは別物
auto bgp peer discover自体はそれぞれのNOS独自の仕組みで実現
例:arista BGP IPv6 Link Local Peers Discovery FRRではRAを使って対抗情報を得て、peerをはっている。
おそらくRAベースで対向IPを知るというのはどこのベンダーも一緒だとは思う。
aristaもRAベース
auto disdovery自体はマルチベンダーの際にはどうなるかは注意
最悪は固定したlink local addressを各I/Fに振ってpeerをはる
設定的にはボーダーIPが常に固定になるのでテンプレート化という観点では効果はある
実際マルチベンダー対応も考えると一番手堅いのかもしれない。
このcapabilityに対応してなければ当然この区間でbgp unnumberedは実施不可能
frrでの実装例
BGP unnumberedは、インタフェースのIPv6 link-local addressを使用してBGPセッションのピアを設定する
隣接ノードのIPv6 link-local addressおよびMACアドレスは、IPv6 RAによって提供される
RIBプロセスは、RAによって学習されたMACアドレスおよび予約されたIPv4 link-local address 169.254.0.1 を使用して、static ARPエントリを設定する
RFC 5549により、BGPは、IPv6 link-local adderssを使用してRIBプロセスのIPv4経路を設定する
RIBプロセスは、RIBにおけるネクストホップのIPv6 link-local addressをIPv4 link-local address 169.254.0.1 に変換して、FIBにIPv4経路を設定する
code:=frr.conf
interface ens0
ipv6 nd ra-interval 10 # BGP unnumbered interface
no ipv6 nd suppress-ra # BGP unnumbered interface
!
interface ens1
ipv6 nd ra-interval 10 # BGP unnumbered interface
no ipv6 nd suppress-ra # BGP unnumbered interface
!
router bgp 65011
bgp router-id 10.0.0.11
bgp bestpath as-path multipath-relax # BGPマルチパス設定
neighbor FABRIC peer-group
neighbor FABRIC remote-as external
neighbor FABRIC bfd
neighbor FABRIC capability extended-nexthop # BGP unnumbered
neighbor swp49 interface peer-group FABRIC # unnumbered I/F指定
neighbor swp50 interface peer-group FABRIC # unnumvered I/F指定
!
ref
IX 接続でRFC5549してみる話
v4だとリナンバーあるし、v6でv4 NLRI送れるといいよね